perm filename 0.SAI[1,BGB] blob sn#086500 filedate 1974-02-14 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00003 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	BEGIN "0"
C00004 00003	S⊂ "LOOP" 
C00006 ENDMK
C⊗;
BEGIN "0"
	REQUIRE "ABBREV[SYS,BGB]" SOURCE_FILE;

	DEFINE CALLI="'047000000000";
	DEFINE SWAR ="'043000000000";
	DEFINE UPG  ="'703000000000";

	ITG ARRAY DPYBUF [0:25000];
	ITG ARRAY FRAME[0:60];
	ITG ARRAY SIZE[0:60];
	ITG I,J,FLG;
	ITG PTR,SIZ;
	STRING FILM;
	LABEL L1,L2;

L1:
	FILM ← "A";
	PTR ← 0;
α LOAD 'EM UP;
	FOR I←0 STEP 1 UNTIL '54 DO
	BEGIN
		OPEN(1,"DSK",8,3,0,0,0,0);
		LOOKUP(1,FILM&CVOS(I)&".PLT[ARM,LOU]",FLG);
		IF FLG THEN GO L1;
		J ← WORDIN(1);
		SIZ ← WORDIN(1);
		ARRYIN(1,DPYBUF[PTR],SIZ);
		RELEASE(1);
		FRAME[I]←LOCATION(DPYBUF[PTR]);
		SIZE[I]←SIZ;
		PTR←PTR+SIZ;
	END;
	OUTSTR(↓&9&"TOTAL BUFFER SIZE IS "&CVS(PTR)&↓);
	S⊂ MOVEI L2;HRRM '120;HRRM '124;'047000400017;JRST 4,;⊃;
L2:
S⊂ "LOOP" 
	LABEL L0,L1,SA,L2,L3,DEL,CRL,OSTR,L00;
	LABEL SWARG,REE,CNT1,CNT2;
	MOVEI 1001;
	'702000000000 3,;
	MOVEI L0;HLRM '120;
L0:	MOVEI REE;HRRM '144;MOVEI 1,40;
L00: 	MOVE CRL;XCT OSTR;SOJG 1,L00;

α FIRE UP SPACE WAR JOB;
	SETZM I;
	MOVEI SA;
	HRL SWARG;
	CALLI '400003;
	CALLI '400017;

α SLEEP - PER CHANCE TO DREAM;
L1:	MOVEI 1,1;
	CALLI 1,'31;
	JFCL;
	'051100000000;
	JRST L1;
	CAIN '15;JRST L1;CAIN '12;JRST L1;
	ANDI '17;MOVEM CNT2;
	MOVE CRL;XCT OSTR;
	MOVE CRL;XCT OSTR;
	MOVE CRL;XCT OSTR;
	MOVE CRL;XCT OSTR;
	MOVE CRL;XCT OSTR;
	JRST L1;

α SPACE WAR MODULE;
SA:	AOS 1,CNT1;CAMGE 1,CNT2;CALLI '400024;
	SETZM CNT1;
	MOVE 1,I;ADD 1,DEL;SKIPN 1;MOVNS DEL;MOVEM 1,I;
	CAIN 1,'54;MOVNS DEL;
	MOVE 1,I; ADD 1,FRAME; MOVE (1); MOVEM PTR;
	MOVE 1,I; ADD 1,SIZE;  MOVE (1); MOVEM SIZ;
	JRST 3,@L2;L2: L3;L3: UPG PTR;
	JFCL;
	CALLI '400024;
DEL:	1;
CRL:	'064240000000;
OSTR:	'051140000000;
SWARG:	'400001;
CNT1:0;CNT2:0;
REE:	ANDI '17;
	MOVEM SWARG;
	JRST L0;
END;
END "0";